<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <!-- import CSS -->
    <link rel="stylesheet" href="https://cdn.staticfile.org/element-ui/2.15.9/theme-chalk/index.css">
</head>
<body>
<div id="app">
    <el-container>
        <el-header style="background-color: #0095d7">
            <h1 style="color: white;font-size: 22px">
                CoolShark商城后台管理系统
                <span v-if="user!=null" style="float: right">欢迎{{user.nick}}回来!<a href="javascript:void(0)" @click="logout()">退出登录</a></span>
            </h1>
        </el-header>
        <el-container>
            <el-aside width="200px">
                <!--**************导航菜单开始*****************-->
                <el-menu @select="handleSelect" class="el-menu-vertical-demo">
                    <el-submenu index="1">
                        <template slot="title">
                            <i class="el-icon-s-flag"></i>
                            <span>分类管理</span>
                        </template>
                        <el-menu-item index="1-1">分类列表</el-menu-item>
                        <el-menu-item index="1-2">添加分类</el-menu-item>
                    </el-submenu>
                    <el-submenu index="2">
                        <template slot="title">
                            <i class="el-icon-picture"></i>
                            <span>轮播图管理</span>
                        </template>
                        <el-menu-item index="2-1">轮播图列表</el-menu-item>
                        <el-menu-item index="2-2">添加轮播图</el-menu-item>
                    </el-submenu>
                    <el-submenu index="3">
                        <template slot="title">
                            <i class="el-icon-shopping-cart-2"></i>
                            <span>商品管理</span>
                        </template>
                        <el-menu-item index="3-1">商品列表</el-menu-item>
                        <el-menu-item index="3-2">添加商品</el-menu-item>
                    </el-submenu>
                </el-menu>
                <!--**************导航菜单结束*****************-->
            </el-aside>
            <el-main>
                <!--*****************分类表格开始************************-->
                <el-table v-if="currentIndex=='1-1'" :data="categoryArr" style="width: 100%">
                    <el-table-column
                            type="index"
                            label="序号"
                            width="50">
                    </el-table-column>
                    <!--prop=properties属性-->
                    <el-table-column
                            prop="name"
                            label="分类名称"
                            width="180">
                    </el-table-column>
                    <!--*****************************-->
                    <el-table-column label="操作">
                        <template slot-scope="scope">
                            <template>
                                <el-button size="mini" type="success" @click="categoryUpdate(scope.row)">修改</el-button>

                                <el-popconfirm
                                        title="确定删除此分类吗？"
                                        @confirm="categoryDelete(scope.$index, scope.row)">
                                    <el-button  size="mini"
                                                type="danger" slot="reference">删除</el-button>
                                </el-popconfirm>

                            </template>

                        </template>
                    </el-table-column>
                    <!--*****************************-->
                </el-table>
                <!--*****************分类表格结束************************-->
                <!--*****************轮播图表格开始************************-->
                <el-table v-if="currentIndex=='2-1'" :data="bannerArr" style="width: 100%">
                    <el-table-column
                            type="index"
                            label="序号"
                            width="50">
                    </el-table-column>
                    <!--prop=properties属性-->
                    <el-table-column
                            label="轮播图"
                            width="300">
                        <!--scope.row得到的是bannerArr数组中对应的轮播图对象-->
                        <template slot-scope="scope">
                            <img :src="scope.row.url" width="100%" alt="">
                        </template>
                    </el-table-column>
                    <!--*****************************-->
                    <el-table-column label="操作">
                        <template slot-scope="scope">
                            <template>
                                <el-popconfirm
                                        title="确定删除此轮播图吗？"
                                        @confirm="bannerDelete(scope.$index, scope.row)">
                                    <el-button  size="mini"
                                                type="danger" slot="reference">删除</el-button>
                                </el-popconfirm>
                            </template>
                        </template>
                    </el-table-column>
                    <!--*****************************-->
                </el-table>
                <!--*****************轮播图表格结束************************-->
                <!--*****************商品表格开始************************-->
                <el-table v-if="currentIndex=='3-1'" :data="productArr" style="width: 100%">
                    <el-table-column
                            type="index"
                            label="序号"
                            width="50">
                    </el-table-column>
                    <!--prop=properties属性-->
                    <el-table-column label="商品标题" width="200" prop="title"></el-table-column>
                    <el-table-column label="价格" width="100" prop="price"></el-table-column>
                    <el-table-column label="原价" width="100" prop="oldPrice"></el-table-column>
                    <el-table-column label="销量" width="100" prop="saleCount"></el-table-column>
                    <el-table-column
                            label="商品图片"
                            width="100">
                        <!--scope.row得到的是bannerArr数组中对应的轮播图对象-->
                        <template slot-scope="scope">
                            <img :src="scope.row.url" width="100%" alt="">
                        </template>
                    </el-table-column>
                    <!--*****************************-->
                    <el-table-column label="操作">
                        <template slot-scope="scope">
                            <template>
                                <el-button size="mini" type="success"
                                           @click="updateProduct(scope.row)">修改</el-button>
                                <el-popconfirm
                                        title="确定删除此商品吗？"
                                        @confirm="productDelete(scope.$index, scope.row)">
                                    <el-button  size="mini"
                                                type="danger" slot="reference">删除</el-button>
                                </el-popconfirm>
                            </template>
                        </template>
                    </el-table-column>
                    <!--*****************************-->
                </el-table>
                <!--*****************商品表格结束************************-->
            </el-main>
        </el-container>
    </el-container>



</div>
</body>
<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js"></script>
<!-- import Vue before Element -->
<script src="https://cdn.staticfile.org/vue/2.6.14/vue.min.js"></script>
<!-- import JavaScript -->
<script src="https://cdn.staticfile.org/element-ui/2.15.9/index.min.js"></script>
<script>
    let v = new Vue({
        el: '#app',
        data: function () {
            return {
                user:null,
                currentIndex:"1-1",
                categoryArr:[],
                bannerArr:[],
                productArr:[]
            }
        },
        methods:{
            updateProduct(product){
                location.href = "/update.html?id="+product.id;

            },
            categoryUpdate(category){
                //获取用户输入的新的分类名称
                let name = prompt("请输入新的分类名称");
                if (name!=null&&name.trim()!=""){
                    //把新的分类名称赋值给category对象
                    category.name=name;
                    //发出修改分类请求
                    axios.post("/category/update",category).then(function () {
                        v.$message.success("修改完成!");
                    })
                }
            },
            logout(){
                if (confirm("您确认退出登录吗?")){
                    axios.get("/logout").then(function () {
                        location.href="/";
                    })
                }
            },
            productDelete(index,product){
                axios.get("/product/delete?id="+product.id).then(function () {
                    //删除数组中的对象
                    v.productArr.splice(index,1);
                })
            },
            bannerDelete(index,banner){
                axios.get("/banner/delete?id="+banner.id).then(function () {
                    //删除数组中的对象
                    v.bannerArr.splice(index,1);
                })
            },
            categoryDelete(index,category){
                //发出删除请求
                axios.get("/category/delete?id="+category.id).then(function () {
                    //删除数组中的对象
                    v.categoryArr.splice(index,1);
                })
            },
            handleSelect(key,keyPath){
                if (key=="1-2"){
                    let name = prompt("请输入分类名称");
                    //判断是否输入了内容
                    if (name==null||name.trim()==""){
                        if (name.trim()==""){
                            v.$message.error("请输入分类名称!");
                        }
                        return;
                    }
                    //发出添加分类请求
                    axios.get("/category/insert?name="+name).then(function (response) {
                        v.categoryArr = response.data;
                    })
                }else if (key=="2-2"){
                    //跳转到添加轮播图页面
                    location.href="/insertBanner.html";
                }else if (key=="3-2"){
                    location.href="/insertProduct.html";
                }else{
                    v.currentIndex=key;
                    //判断点击的是否是轮播图列表
                    if (key=="2-1"){
                        axios.get("/banner/select").then(function (response) {
                            v.bannerArr = response.data;
                        })
                    }
                    if(key=="3-1"){
                        //发请求获取所有商品信息
                        axios.get("/product/select").then(function (response) {
                            v.productArr = response.data;
                        })
                    }
                }
            }
        },
        created:function () {
            //发请求获取所有分类信息
            axios.get("/category/select").then(function (response) {
                v.categoryArr = response.data;
            })
            //发请求获取当前登录的用户对象
            axios.get("/currentUser").then(function (response) {
                v.user = response.data==""?null:response.data;
                if (v.user==null){
                    alert("请先登录!");
                    location.href = "/login.html";
                }
            })
        }
    })
</script>
</html>